# Esta clase define a la venta como un tipo de comunicación. Es el tercer paso en el proceso de una venta. 
# A partir de esta instancia, el módulo de IEXCHANGES se encargará de asignar un trainee a la venta.
class VentasController < ComunicacionesController

	@@html_id = 'ven_form'

# Crea la venta.  
  def create
  	@comunicacion = Venta.new(params[:venta])
  	@cuenta = Cuenta.find(params[:cuenta_id]) 
  	@comunicacion.cuenta = @cuenta
  	@comunicacion.user_id = @current_user.id
   	@comunicacion.save

   	respond_to do |format|      
   	  format.js
      format.html { redirect_to(cuenta_comunicaciones_path(@cuenta.id)) }
      format.xml  { render :xml => @comunicacion, :status => :created, :location => @comunicacion }
    end
  end

# Recupera la venta que va a ser visualizada en pantalla.
  def show
    @com = Venta.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @com }
    end
  end

# Actualiza la venta.
  def update	 
  
    @comunicacion = Venta.find(params[:id])     
    @cuenta = Cuenta.find(@comunicacion.cuenta_id)
    respond_to do |format|
      if @comunicacion.update_attributes(params[:venta])
        @producto = @comunicacion.producto
    		@precio = Precio.find(:last) 
    		@producto.monto = @precio.tarifa_trainee
    		@producto.save
    		
    		@log_trainee = LogTrainee.new
    		@log_trainee.fecha_ingreso = Date.today
    		@log_trainee.trainee = @comunicacion.producto
    		@log_trainee.cuenta = @comunicacion.cuenta
    		@log_trainee.descripcion = 'Asignacion a la cuenta '+@comunicacion.cuenta.razon_social
    		@log_trainee.save
    		    		
        format.html { redirect_to( inexchanges_path ) }
        format.xml  { head :ok }
      end
    end
  end
 
 # Recupera la venta que va a ser editada.  
  def edit
	  @comunicacion = Venta.find(params[:id])
    @cuenta = @comunicacion.cuenta_id
    
    
  end
  
end
